EXPECT_EQ(78238l, div64x32s(36702212405253ll, 469108342l, 0) );
EXPECT_EQ(-123010l, div64x32s(-106674977070319ll, 867201252l, 0) );
EXPECT_EQ(-133487l, div64x32s(131340752536606ll, -983919053l, 0) );
EXPECT_EQ(-10939l, div64x32s(-10421575438583ll, 952650966l, 0) );
EXPECT_EQ(35334l, div64x32s(-38985506494869ll, -1103324759l, 0) );
EXPECT_EQ(-59204l, div64x32s(118615994736799ll, -2003506289l, 0) );
EXPECT_EQ(44437l, div64x32s(87368948532547ll, 1966096467l, 0) );
EXPECT_EQ(2001436l, div64x32s(-76266061902170ll, -38105656l, 0) );
EXPECT_EQ(80818l, div64x32s(-135460005682139ll, -1676092499l, 0) );
EXPECT_EQ(547l, div64x32s(-864253522877ll, -1578309912l, 0) );
EXPECT_EQ(-164054l, div64x32s(-123460073248264ll, 752556058l, 0) );
EXPECT_EQ(70984l, div64x32s(84925130502224ll, 1196387420l, 0) );
EXPECT_EQ(331580l, div64x32s(67672162058699ll, 204089869l, 0) );
EXPECT_EQ(-59055l, div64x32s(-25804695941190ll, 436953823l, 0) );
EXPECT_EQ(100389l, div64x32s(19672988337334ll, 195966510l, 0) );
EXPECT_EQ(73487l, div64x32s(86261976221328ll, 1173834978l, 0) );
EXPECT_EQ(92921l, div64x32s(70593643946436ll, 759710678l, 0) );
EXPECT_EQ(-79831l, div64x32s(102853365218809ll, -1288379670l, 0) );
EXPECT_EQ(-80033l, div64x32s(137684494734088ll, -1720330666l, 0) );
EXPECT_EQ(-54659l, div64x32s(-25230679215957ll, 461595822l, 0) );
EXPECT_EQ(196196l, div64x32s(-93880706931307ll, -478502270l, 0) );
EXPECT_EQ(165884l, div64x32s(131350077509351ll, 791816091l, 0) );
EXPECT_EQ(-51878l, div64x32s(66040684414503ll, -1272982564l, 0) );
EXPECT_EQ(40985l, div64x32s(80012159814279ll, 1952209219l, 0) );
EXPECT_EQ(33033l, div64x32s(-69025079710922ll, -2089556314l, 0) );
EXPECT_EQ(71644l, div64x32s(72185853405755ll, 1007551309l, 0) );
EXPECT_EQ(27880l, div64x32s(-41946645019108ll, -1504537174l, 0) );
EXPECT_EQ(578762l, div64x32s(-118649086876459ll, -205004637l, 0) );
EXPECT_EQ(352160l, div64x32s(127337746812842ll, 361590166l, 0) );
EXPECT_EQ(690751l, div64x32s(-103319939592522ll, -149576142l, 0) );
EXPECT_EQ(4155l, div64x32s(-8277810565941ll, -1991835917l, 0) );
EXPECT_EQ(-65350l, div64x32s(81716122160648ll, -1250432722l, 0) );
EXPECT_EQ(-17503l, div64x32s(-25427248902189ll, 1452684221l, 0) );
EXPECT_EQ(29107l, div64x32s(-27880402586334ll, -957840510l, 0) );
EXPECT_EQ(-80455l, div64x32s(101327836491251ll, -1259420247l, 0) );
EXPECT_EQ(-607676l, div64x32s(72810036802715ll, -119817130l, 0) );
EXPECT_EQ(-29173l, div64x32s(-60787832083376ll, 2083673735l, 0) );
EXPECT_EQ(-140332l, div64x32s(-129468065652927ll, 922580660l, 0) );
EXPECT_EQ(-307745l, div64x32s(-102018633572818ll, 331503337l, 0) );
EXPECT_EQ(-119585l, div64x32s(134840945434686ll, -1127571581l, 0) );
EXPECT_EQ(-148043l, div64x32s(60241279540959ll, -406915554l, 0) );
EXPECT_EQ(207724l, div64x32s(-110269811596163ll, -530845502l, 0) );
EXPECT_EQ(-127281l, div64x32s(97899905956513ll, -769159118l, 0) );
EXPECT_EQ(-25452l, div64x32s(-42015123442068ll, 1650738701l, 0) );
EXPECT_EQ(65654l, div64x32s(-131177541486105ll, -1998010691l, 0) );
EXPECT_EQ(-648905l, div64x32s(136014426097816ll, -209605916l, 0) );
EXPECT_EQ(-15063l, div64x32s(-29463594500035ll, 1956002903l, 0) );
EXPECT_EQ(-87259l, div64x32s(-70644483371064ll, 809591844l, 0) );
EXPECT_EQ(79366l, div64x32s(39733517421319ll, 500635694l, 0) );
EXPECT_EQ(91322l, div64x32s(-60465704605327ll, -662115193l, 0) );
EXPECT_EQ(-65386l, div64x32s(-86629886748398ll, 1324894270l, 0) );
EXPECT_EQ(118462l, div64x32s(-123147262836390ll, -1039550384l, 0) );
EXPECT_EQ(-38995l, div64x32s(-61543993125752ll, 1578238211l, 0) );
EXPECT_EQ(-10288l, div64x32s(-9192064635819ll, 893405418l, 0) );
EXPECT_EQ(362547l, div64x32s(51093269204515ll, 140928541l, 0) );
EXPECT_EQ(82574l, div64x32s(138783590874729ll, 1680697885l, 0) );
EXPECT_EQ(-28921l, div64x32s(28438680468864ll, -983305740l, 0) );
EXPECT_EQ(2717724l, div64x32s(83976856623786ll, 30899691l, 0) );
EXPECT_EQ(-83703l, div64x32s(-113367448361198ll, 1354394127l, 0) );
EXPECT_EQ(5011l, div64x32s(9857433102470ll, 1967015410l, 0) );
EXPECT_EQ(-279297l, div64x32s(120350970246353ll, -430905541l, 0) );
EXPECT_EQ(-75610l, div64x32s(-115888260323795ll, 1532696215l, 0) );
EXPECT_EQ(-62814l, div64x32s(-134322004446431ll, 2138405028l, 0) );
EXPECT_EQ(59450l, div64x32s(107341232430633ll, 1805544624l, 0) );
EXPECT_EQ(-28649963l, div64x32s(125883212320089ll, -4393835l, 0) );
EXPECT_EQ(364332l, div64x32s(-43157085757504ll, -118455207l, 0) );
EXPECT_EQ(10470l, div64x32s(-20772059760968ll, -1983804939l, 0) );
EXPECT_EQ(131488l, div64x32s(-71730563978639ll, -545528295l, 0) );
EXPECT_EQ(-12291l, div64x32s(-17048709846813ll, 1387016392l, 0) );
EXPECT_EQ(7876l, div64x32s(-12246771703150ll, -1554790061l, 0) );
EXPECT_EQ(-13817l, div64x32s(-14514060293689ll, 1050435963l, 0) );
EXPECT_EQ(47564l, div64x32s(69318453774131ll, 1457356698l, 0) );
EXPECT_EQ(75697l, div64x32s(-109801300844372ll, -1450536509l, 0) );
EXPECT_EQ(38341l, div64x32s(74570018291458ll, 1944870290l, 0) );
EXPECT_EQ(43463l, div64x32s(45905972561593ll, 1056188642l, 0) );
EXPECT_EQ(-90743l, div64x32s(58537717360445ll, -645089237l, 0) );
EXPECT_EQ(72157l, div64x32s(137383965651656ll, 1903957008l, 0) );
EXPECT_EQ(457766l, div64x32s(-125383076747486ll, -273901902l, 0) );
EXPECT_EQ(-81694l, div64x32s(-47656983145031ll, 583352530l, 0) );
EXPECT_EQ(-267l, div64x32s(86782277415ll, -324601740l, 0) );
EXPECT_EQ(7114l, div64x32s(11734877304169ll, 1649356792l, 0) );
EXPECT_EQ(105772l, div64x32s(-98047474664292ll, -926962663l, 0) );
EXPECT_EQ(-71405l, div64x32s(98398487398801ll, -1378028712l, 0) );
EXPECT_EQ(47009l, div64x32s(-73819332623282ll, -1570315959l, 0) );
EXPECT_EQ(28173l, div64x32s(51889290234675ll, 1841761766l, 0) );
EXPECT_EQ(158435l, div64x32s(74978388614154ll, 473242028l, 0) );
EXPECT_EQ(116417l, div64x32s(-39935999224435ll, -343040767l, 0) );
EXPECT_EQ(25293l, div64x32s(-36125891519240ll, -1428242859l, 0) );
EXPECT_EQ(74041l, div64x32s(76873012874819ll, 1038242583l, 0) );
EXPECT_EQ(35326l, div64x32s(47052448093215ll, 1331919283l, 0) );
EXPECT_EQ(-114063l, div64x32s(111742426945331ll, -979647060l, 0) );
EXPECT_EQ(17320l, div64x32s(-17992578000691ll, -1038821307l, 0) );
EXPECT_EQ(-36804l, div64x32s(67861574389301ll, -1843814231l, 0) );
EXPECT_EQ(71597l, div64x32s(-108681205201372ll, -1517949328l, 0) );
EXPECT_EQ(75373l, div64x32s(135570821768443ll, 1798654458l, 0) );
EXPECT_EQ(245384l, div64x32s(-67624402827454ll, -275585808l, 0) );
EXPECT_EQ(50514l, div64x32s(-108229497001152ll, -2142527639l, 0) );
EXPECT_EQ(124814l, div64x32s(116605546096558ll, 934228056l, 0) );
EXPECT_EQ(31783l, div64x32s(-60332900840855ll, -1898261313l, 0) );
EXPECT_EQ(59570l, div64x32s(34231828577705ll, 574645701l, 0) );
EXPECT_EQ(-59730l, div64x32s(-54526246988692ll, 912868530l, 0) );
EXPECT_EQ(16479l, div64x32s(21857662158275ll, 1326349526l, 0) );
EXPECT_EQ(-186292l, div64x32s(-103815335907440ll, 557270755l, 0) );
EXPECT_EQ(1014648l, div64x32s(-52421786824851ll, -51664967l, 0) );
EXPECT_EQ(80484l, div64x32s(-24619243560819ll, -305886588l, 0) );
EXPECT_EQ(25515l, div64x32s(-43668312312275ll, -1711426316l, 0) );
EXPECT_EQ(-66078l, div64x32s(64478005571273ll, -975772335l, 0) );
EXPECT_EQ(294101l, div64x32s(-127449022671907ll, -433349868l, 0) );
EXPECT_EQ(-25417l, div64x32s(-45021124574351ll, 1771244301l, 0) );
EXPECT_EQ(86118l, div64x32s(65210858479920ll, 757218541l, 0) );
EXPECT_EQ(-83338l, div64x32s(-121222498883385ll, 1454580601l, 0) );
EXPECT_EQ(50389l, div64x32s(-66010833645239ll, -1310002386l, 0) );
EXPECT_EQ(55046l, div64x32s(84413495574563ll, 1533501516l, 0) );
EXPECT_EQ(-63450l, div64x32s(93935576641809ll, -1480460889l, 0) );
EXPECT_EQ(15389l, div64x32s(20401443267689ll, 1325692736l, 0) );
EXPECT_EQ(66578l, div64x32s(-82396210668113ll, -1237588475l, 0) );
EXPECT_EQ(213675l, div64x32s(81922971745109ll, 383399359l, 0) );
EXPECT_EQ(22195l, div64x32s(40464343963931ll, 1823083609l, 0) );
EXPECT_EQ(149224l, div64x32s(-93828934357775ll, -628775842l, 0) );
EXPECT_EQ(168262l, div64x32s(87703772607678ll, 521233062l, 0) );
EXPECT_EQ(81661l, div64x32s(71367059792715ll, 873942673l, 0) );
EXPECT_EQ(114841l, div64x32s(95933003605041ll, 835348381l, 0) );
EXPECT_EQ(-14420l, div64x32s(-21925992559402ll, 1520526462l, 0) );
EXPECT_EQ(64930l, div64x32s(-103038335912968ll, -1586893295l, 0) );
EXPECT_EQ(22506l, div64x32s(9974149352076ll, 443167717l, 0) );
EXPECT_EQ(-54573l, div64x32s(102426717737854ll, -1876849203l, 0) );
EXPECT_EQ(-45637l, div64x32s(-52398718457984ll, 1148151527l, 0) );
EXPECT_EQ(48354l, div64x32s(-85832536498975ll, -1775055274l, 0) );
EXPECT_EQ(-145762l, div64x32s(-116476160917402ll, 799083098l, 0) );
EXPECT_EQ(23146l, div64x32s(-40799066681280ll, -1762668681l, 0) );
EXPECT_EQ(-22232l, div64x32s(-25641708562006ll, 1153322065l, 0) );
EXPECT_EQ(270396l, div64x32s(-62118891100867ll, -229732733l, 0) );
EXPECT_EQ(47040l, div64x32s(60479377984718ll, 1285694943l, 0) );
EXPECT_EQ(32134l, div64x32s(-30584628464854ll, -951780773l, 0) );
EXPECT_EQ(35239l, div64x32s(72744984056430ll, 2064323063l, 0) );
EXPECT_EQ(144574l, div64x32s(120542554180276ll, 833775421l, 0) );
EXPECT_EQ(69417l, div64x32s(59743105996147ll, 860637113l, 0) );
EXPECT_EQ(-1631490l, div64x32s(-136693416799117ll, 83784356l, 0) );
EXPECT_EQ(20252l, div64x32s(26307916217159ll, 1298989195l, 0) );
EXPECT_EQ(53663l, div64x32s(-34997299388190ll, -652166283l, 0) );
EXPECT_EQ(4401119l, div64x32s(116295259196454ll, 26424017l, 0) );
EXPECT_EQ(85067l, div64x32s(-66375904028071ll, -780271985l, 0) );
EXPECT_EQ(-1455l, div64x32s(2462584565136ll, -1691904034l, 0) );
EXPECT_EQ(-25220l, div64x32s(42019146452543ll, -1666071983l, 0) );
EXPECT_EQ(16351l, div64x32s(-25744071229036ll, -1574371907l, 0) );
EXPECT_EQ(-20371l, div64x32s(36410356994093ll, -1787311815l, 0) );
EXPECT_EQ(-19127l, div64x32s(-38694180697325ll, 2022927455l, 0) );
EXPECT_EQ(-7318l, div64x32s(6607649976923ll, -902831540l, 0) );
EXPECT_EQ(33604l, div64x32s(49909054124437ll, 1485205029l, 0) );
EXPECT_EQ(40974l, div64x32s(79199907512311ll, 1932928873l, 0) );
EXPECT_EQ(-1441701l, div64x32s(-120104868271086ll, 83307742l, 0) );
EXPECT_EQ(48810l, div64x32s(50629300278242ll, 1037255621l, 0) );
EXPECT_EQ(96618l, div64x32s(102036471680209ll, 1056074389l, 0) );
EXPECT_EQ(-54215l, div64x32s(-52880616676473ll, 975375520l, 0) );
EXPECT_EQ(-21650l, div64x32s(-26668610846541ll, 1231771107l, 0) );
EXPECT_EQ(21081l, div64x32s(18247048458207ll, 865535431l, 0) );
EXPECT_EQ(5719l, div64x32s(-8775531777169ll, -1534348550l, 0) );
EXPECT_EQ(-13601l, div64x32s(-16686733274320ll, 1226863606l, 0) );
EXPECT_EQ(75525l, div64x32s(-52725713614951ll, -698115396l, 0) );
EXPECT_EQ(6318l, div64x32s(-8118360868515ll, -1284912183l, 0) );
EXPECT_EQ(-66364l, div64x32s(105506054634272ll, -1589797835l, 0) );
EXPECT_EQ(-136613l, div64x32s(-140468988283661ll, 1028220466l, 0) );
EXPECT_EQ(-46589l, div64x32s(60971964064510ll, -1308700564l, 0) );
EXPECT_EQ(-41694l, div64x32s(50488961679027ll, -1210923846l, 0) );
EXPECT_EQ(45778l, div64x32s(84908247296642ll, 1854745573l, 0) );
EXPECT_EQ(-653696l, div64x32s(-91042005215681ll, 139272595l, 0) );
EXPECT_EQ(-62607l, div64x32s(-33150363791917ll, 529494417l, 0) );
EXPECT_EQ(-17472l, div64x32s(-32994697291760ll, 1888427315l, 0) );
EXPECT_EQ(391441l, div64x32s(140377665858444ll, 358617353l, 0) );
EXPECT_EQ(11790l, div64x32s(19776136484809ll, 1677345617l, 0) );
EXPECT_EQ(976l, div64x32s(2011586971820ll, 2058975696l, 0) );
EXPECT_EQ(137486l, div64x32s(64408251411206ll, 468468201l, 0) );
EXPECT_EQ(-274937l, div64x32s(-72440608669253ll, 263480309l, 0) );
EXPECT_EQ(-229172l, div64x32s(-138603222625883ll, 604798033l, 0) );
EXPECT_EQ(-149005l, div64x32s(-134166609799237ll, 900413095l, 0) );
EXPECT_EQ(-62762l, div64x32s(128321855566103ll, -2044549082l, 0) );
EXPECT_EQ(140018l, div64x32s(-118267979921277ll, -844657397l, 0) );
EXPECT_EQ(-17188l, div64x32s(-23708492584273ll, 1379347752l, 0) );
EXPECT_EQ(79932l, div64x32s(115037189786774ll, 1439183963l, 0) );
EXPECT_EQ(63078l, div64x32s(60401884286888ll, 957563419l, 0) );
EXPECT_EQ(-9836l, div64x32s(16833436342187ll, -1711304881l, 0) );
EXPECT_EQ(113623l, div64x32s(122850886551990ll, 1081214292l, 0) );
EXPECT_EQ(46965l, div64x32s(-12906817326346ll, -274814859l, 0) );
EXPECT_EQ(-79678l, div64x32s(-108620018746571ll, 1363234752l, 0) );
EXPECT_EQ(35862l, div64x32s(-69897609301772ll, -1949046073l, 0) );
EXPECT_EQ(62475l, div64x32s(-131569360327311ll, -2105934261l, 0) );
EXPECT_EQ(43870l, div64x32s(84436548788754ll, 1924685788l, 0) );
EXPECT_EQ(-6594l, div64x32s(13861385817998ll, -2101819514l, 0) );
EXPECT_EQ(-13638l, div64x32s(-7603758967545ll, 557524307l, 0) );
EXPECT_EQ(-62478l, div64x32s(92080380776427ll, -1473799762l, 0) );
EXPECT_EQ(7561l, div64x32s(-9794187323816ll, -1295285991l, 0) );
EXPECT_EQ(-128854l, div64x32s(107280883921060ll, -832576110l, 0) );
EXPECT_EQ(91532l, div64x32s(-122566978381961ll, -1339051011l, 0) );
EXPECT_EQ(3866l, div64x32s(5867314434094ll, 1517489994l, 0) );
EXPECT_EQ(83101l, div64x32s(86300064696070ll, 1038487392l, 0) );
EXPECT_EQ(242247l, div64x32s(109948159811411ll, 453866841l, 0) );
EXPECT_EQ(-85028l, div64x32s(59053462464616ll, -694514268l, 0) );
EXPECT_EQ(7392l, div64x32s(-13934187468698ll, -1884894488l, 0) );
EXPECT_EQ(-42180l, div64x32s(-83671876401571ll, 1983658119l, 0) );
EXPECT_EQ(61137l, div64x32s(116432976625310ll, 1904434914l, 0) );
EXPECT_EQ(-18989l, div64x32s(2604788580343ll, -137167239l, 0) );
EXPECT_EQ(73088l, div64x32s(-31934232479262ll, -436928524l, 0) );
EXPECT_EQ(-296199l, div64x32s(-119363465971567ll, 402983380l, 0) );
EXPECT_EQ(-14754l, div64x32s(10724755398323ll, -726887487l, 0) );
EXPECT_EQ(155800l, div64x32s(78899008447397ll, 506411793l, 0) );
EXPECT_EQ(30444l, div64x32s(-49718621456227ll, -1633093383l, 0) );
EXPECT_EQ(86872l, div64x32s(101513531823696ll, 1168530143l, 0) );
EXPECT_EQ(69084l, div64x32s(107324676511383ll, 1553534219l, 0) );
EXPECT_EQ(91472l, div64x32s(33193367905932ll, 362877817l, 0) );
EXPECT_EQ(-61549l, div64x32s(-123279059351829ll, 2002916726l, 0) );
EXPECT_EQ(-115952l, div64x32s(127622775197916ll, -1100643213l, 0) );
EXPECT_EQ(-83316l, div64x32s(-110292545831440ll, 1323783015l, 0) );
EXPECT_EQ(-101646l, div64x32s(65670706383696ll, -646068986l, 0) );
EXPECT_EQ(-2777l, div64x32s(-1908490007407ll, 687166609l, 0) );
EXPECT_EQ(78571l, div64x32s(75385453294169ll, 959447169l, 0) );
EXPECT_EQ(-56316l, div64x32s(27582610567123ll, -489776464l, 0) );
EXPECT_EQ(-69533l, div64x32s(109054238859828ll, -1568358550l, 0) );
EXPECT_EQ(262476l, div64x32s(-92686126686218ll, -353121237l, 0) );
EXPECT_EQ(-185762l, div64x32s(-70125740512754ll, 377501634l, 0) );
EXPECT_EQ(82854l, div64x32s(133424757672943ll, 1610355520l, 0) );
EXPECT_EQ(-419991l, div64x32s(-112533783146622ll, 267942755l, 0) );
EXPECT_EQ(33495l, div64x32s(45863348357863ll, 1369255103l, 0) );
EXPECT_EQ(32989l, div64x32s(65133866460475ll, 1974407593l, 0) );
EXPECT_EQ(108139l, div64x32s(97540698886777ll, 901992456l, 0) );
EXPECT_EQ(26723l, div64x32s(25783820115213ll, 964830746l, 0) );
EXPECT_EQ(-22862l, div64x32s(40907000322490ll, -1789279690l, 0) );
EXPECT_EQ(184926l, div64x32s(78776005951976ll, 425986574l, 0) );
EXPECT_EQ(4211l, div64x32s(3650823919226ll, 866780652l, 0) );
EXPECT_EQ(-73474l, div64x32s(76886103629369ll, -1046436061l, 0) );
EXPECT_EQ(41342l, div64x32s(71770990400889ll, 1735997612l, 0) );
EXPECT_EQ(13758l, div64x32s(28287316936393ll, 2055953843l, 0) );
EXPECT_EQ(-796496l, div64x32s(138955212794134ll, -174458113l, 0) );
EXPECT_EQ(28377l, div64x32s(37814800164075ll, 1332563273l, 0) );
EXPECT_EQ(-53225l, div64x32s(-59202579804709ll, 1112293325l, 0) );
EXPECT_EQ(-284l, div64x32s(378825948170ll, -1330190321l, 0) );
EXPECT_EQ(-14003l, div64x32s(25238233378045ll, -1802241731l, 0) );
EXPECT_EQ(-23141l, div64x32s(41632449102077ll, -1799035068l, 0) );
EXPECT_EQ(-13887l, div64x32s(29353327722712ll, -2113670921l, 0) );
EXPECT_EQ(-63097l, div64x32s(39429598763689ll, -624903329l, 0) );
EXPECT_EQ(-23039l, div64x32s(47292724896279ll, -2052653819l, 0) );
EXPECT_EQ(-102522l, div64x32s(97036841679571ll, -946489576l, 0) );
EXPECT_EQ(-76748l, div64x32s(-90302113544208ll, 1176595367l, 0) );
EXPECT_EQ(-6581l, div64x32s(11816839772983ll, -1795379790l, 0) );
EXPECT_EQ(67122l, div64x32s(97560393184619ll, 1453478352l, 0) );
EXPECT_EQ(22294l, div64x32s(19922049506874ll, 893587097l, 0) );
EXPECT_EQ(7462l, div64x32s(8682231332411ll, 1163417497l, 0) );
EXPECT_EQ(-423684l, div64x32s(-34553864145876ll, 81555609l, 0) );
EXPECT_EQ(251l, div64x32s(-39974084945ll, -159209260l, 0) );
EXPECT_EQ(-11743l, div64x32s(-23760463344258ll, 2023318211l, 0) );
EXPECT_EQ(-176698l, div64x32s(88349114835587ll, -499999733l, 0) );
EXPECT_EQ(46327l, div64x32s(-56536764066149ll, -1220376300l, 0) );
EXPECT_EQ(43492l, div64x32s(73011612756441ll, 1678717777l, 0) );
EXPECT_EQ(13705l, div64x32s(-29403895520215ll, -2145472975l, 0) );
EXPECT_EQ(-70840l, div64x32s(57081711243227ll, -805781172l, 0) );
EXPECT_EQ(31150l, div64x32s(-65598986336280ll, -2105876322l, 0) );
EXPECT_EQ(-276197l, div64x32s(-119741057007994ll, 433534140l, 0) );
EXPECT_EQ(-39799l, div64x32s(-47117098836453ll, 1183865127l, 0) );
EXPECT_EQ(-118770l, div64x32s(-55741972416074ll, 469325739l, 0) );
EXPECT_EQ(75445l, div64x32s(72727676278554ll, 963977719l, 0) );
EXPECT_EQ(223366l, div64x32s(132479109308927ll, 593102649l, 0) );
EXPECT_EQ(-195163l, div64x32s(-113641336297388ll, 582288128l, 0) );
EXPECT_EQ(-20263l, div64x32s(13690197649015ll, -675625159l, 0) );
EXPECT_EQ(79537l, div64x32s(79995020266391ll, 1005747180l, 0) );
EXPECT_EQ(-15520l, div64x32s(-13817645196719ll, 890264648l, 0) );
EXPECT_EQ(-44602l, div64x32s(26071239172256ll, -584526951l, 0) );
EXPECT_EQ(-46964l, div64x32s(97565941504886ll, -2077453708l, 0) );
EXPECT_EQ(54602l, div64x32s(-27927536811763ll, -511471485l, 0) );
EXPECT_EQ(36167l, div64x32s(-52523666975932ll, -1452214448l, 0) );
EXPECT_EQ(16632l, div64x32s(-29318360993541ll, -1762730383l, 0) );
EXPECT_EQ(45444l, div64x32s(65241514127058ll, 1435637200l, 0) );
EXPECT_EQ(-34332l, div64x32s(69657723825223ll, -2028931015l, 0) );
EXPECT_EQ(12220l, div64x32s(20905604569839ll, 1710707553l, 0) );
EXPECT_EQ(23497l, div64x32s(-25001105168265ll, -1064008793l, 0) );
EXPECT_EQ(91410l, div64x32s(71399755748059ll, 781090740l, 0) );
EXPECT_EQ(-29208l, div64x32s(-41640303401247ll, 1425616116l, 0) );
EXPECT_EQ(116224l, div64x32s(-38255458482577ll, -329150863l, 0) );
EXPECT_EQ(-3999l, div64x32s(6541579343396ll, -1635545381l, 0) );
EXPECT_EQ(-27573l, div64x32s(-52829901516593ll, 1915970788l, 0) );
EXPECT_EQ(-122575l, div64x32s(-26445678392690ll, 215749801l, 0) );
EXPECT_EQ(144106l, div64x32s(82168385243549ll, 570190860l, 0) );
EXPECT_EQ(143334l, div64x32s(132839210311724ll, 926774744l, 0) );
EXPECT_EQ(-103895l, div64x32s(99138550004625ll, -954214160l, 0) );
EXPECT_EQ(-17304l, div64x32s(-32921339576035ll, 1902451377l, 0) );
EXPECT_EQ(12999l, div64x32s(-25701760586276ll, -1977117158l, 0) );
EXPECT_EQ(-23332l, div64x32s(49006062215101ll, -2100326191l, 0) );
EXPECT_EQ(-76994l, div64x32s(-62893080384736ll, 816850859l, 0) );
EXPECT_EQ(90530l, div64x32s(-126333276341046ll, -1395477995l, 0) );
EXPECT_EQ(-33635l, div64x32s(-37641098966784ll, 1119099970l, 0) );
EXPECT_EQ(-243588l, div64x32s(88684113114184ll, -364073027l, 0) );
EXPECT_EQ(203883l, div64x32s(-111224270583925ll, -545527523l, 0) );
EXPECT_EQ(-15021l, div64x32s(-18916926103061ll, 1259289969l, 0) );
EXPECT_EQ(79694l, div64x32s(127642335142844ll, 1601652600l, 0) );
EXPECT_EQ(12048l, div64x32s(-25796936930425ll, -2141083740l, 0) );
EXPECT_EQ(-61166l, div64x32s(-50626423034284ll, 827676128l, 0) );
EXPECT_EQ(10400l, div64x32s(-16386783858181ll, -1575571978l, 0) );
EXPECT_EQ(-313949l, div64x32s(-80862664349379ll, 257566063l, 0) );
EXPECT_EQ(156651l, div64x32s(121268980378958ll, 774134522l, 0) );
EXPECT_EQ(63264l, div64x32s(-112210742412712ll, -1773684801l, 0) );
EXPECT_EQ(-53827l, div64x32s(79105260616867ll, -1469595602l, 0) );
EXPECT_EQ(-88850l, div64x32s(-111923164092617ll, 1259674939l, 0) );
EXPECT_EQ(-127716l, div64x32s(-132642190883445ll, 1038564897l, 0) );
EXPECT_EQ(340428l, div64x32s(-43955639642472ll, -129118420l, 0) );
EXPECT_EQ(9474l, div64x32s(-19263181035044ll, -2033081384l, 0) );
EXPECT_EQ(-72683l, div64x32s(-105223047818359ll, 1447693301l, 0) );
EXPECT_EQ(-41447l, div64x32s(-46842654839783ll, 1130175205l, 0) );
EXPECT_EQ(67569l, div64x32s(-41658260082189ll, -616527253l, 0) );
EXPECT_EQ(86919l, div64x32s(126079513857036ll, 1450533848l, 0) );
EXPECT_EQ(30581l, div64x32s(23186310169179ll, 758192859l, 0) );
EXPECT_EQ(-43363l, div64x32s(-33747495120067ll, 778251319l, 0) );
EXPECT_EQ(-62205l, div64x32s(83610836012906ll, -1344104170l, 0) );
EXPECT_EQ(-15601l, div64x32s(-33154373459757ll, 2125036938l, 0) );
EXPECT_EQ(140447l, div64x32s(53066451549454ll, 377839272l, 0) );
EXPECT_EQ(-1428l, div64x32s(3046984138605ll, -2132834287l, 0) );
EXPECT_EQ(392423l, div64x32s(74849204048077ll, 190735901l, 0) );
EXPECT_EQ(-35632l, div64x32s(45700490087651ll, -1282540651l, 0) );
EXPECT_EQ(-69506l, div64x32s(-118581026443687ll, 1706048566l, 0) );
EXPECT_EQ(-51165l, div64x32s(61904178406118ll, -1209884186l, 0) );
EXPECT_EQ(28015l, div64x32s(-40035136394253ll, -1429014298l, 0) );
EXPECT_EQ(33367l, div64x32s(-67809269398414ll, -2032166682l, 0) );
EXPECT_EQ(917l, div64x32s(880840233057ll, 959598162l, 0) );
EXPECT_EQ(-4349l, div64x32s(-4206000080238ll, 966949509l, 0) );
EXPECT_EQ(124255l, div64x32s(96676550481620ll, 778045802l, 0) );
EXPECT_EQ(49701l, div64x32s(-66014545003089ll, -1328228053l, 0) );
EXPECT_EQ(-107042l, div64x32s(117344444178824ll, -1096239327l, 0) );
EXPECT_EQ(-135065l, div64x32s(-114027541039193ll, 844235914l, 0) );
EXPECT_EQ(9367l, div64x32s(10884032389679ll, 1161839728l, 0) );
EXPECT_EQ(59981l, div64x32s(24066355456010ll, 401228517l, 0) );
EXPECT_EQ(79424l, div64x32s(121395048235689ll, 1528436015l, 0) );
EXPECT_EQ(-23514l, div64x32s(-6722189474094ll, 285874458l, 0) );
EXPECT_EQ(-43810l, div64x32s(37544396535891ll, -856974051l, 0) );
EXPECT_EQ(161352l, div64x32s(88181257237906ll, 546511943l, 0) );
EXPECT_EQ(84567l, div64x32s(16073129545722ll, 190063518l, 0) );
EXPECT_EQ(-36875l, div64x32s(42048429777926ll, -1140267787l, 0) );
EXPECT_EQ(-16100l, div64x32s(32402901519538ll, -2012481932l, 0) );
EXPECT_EQ(64748l, div64x32s(124327489795894ll, 1920146844l, 0) );
EXPECT_EQ(156562l, div64x32s(-100246445909511ll, -640298608l, 0) );
EXPECT_EQ(45989l, div64x32s(62470471170852ll, 1358370212l, 0) );
EXPECT_EQ(-156501l, div64x32s(86115935810111ll, -550257986l, 0) );
EXPECT_EQ(204169l, div64x32s(90548338903413ll, 443495251l, 0) );
EXPECT_EQ(98508l, div64x32s(77195449739167ll, 783641068l, 0) );
EXPECT_EQ(94379l, div64x32s(-131735947530193ll, -1395805542l, 0) );
EXPECT_EQ(79124l, div64x32s(-89851555294205ll, -1135565858l, 0) );
EXPECT_EQ(50693l, div64x32s(-23585797180667ll, -465264661l, 0) );
EXPECT_EQ(-119768l, div64x32s(-118446848685054ll, 988962233l, 0) );
EXPECT_EQ(195858l, div64x32s(137925873834106ll, 704211742l, 0) );
EXPECT_EQ(-71910l, div64x32s(-75245064096718ll, 1046371859l, 0) );
EXPECT_EQ(-32506l, div64x32s(-57729200954846ll, 1775925617l, 0) );
EXPECT_EQ(75310l, div64x32s(131311371491644ll, 1743610745l, 0) );
EXPECT_EQ(85251l, div64x32s(-121386169155596ll, -1423863080l, 0) );
EXPECT_EQ(2903l, div64x32s(4827777158011ll, 1662587002l, 0) );
EXPECT_EQ(1220310l, div64x32s(-119509301029401ll, -97933513l, 0) );
EXPECT_EQ(32180l, div64x32s(-22764411227894ll, -707397285l, 0) );
EXPECT_EQ(22191l, div64x32s(-21252413012624ll, -957696774l, 0) );
EXPECT_EQ(-5316l, div64x32s(11386388302847ll, -2141524282l, 0) );
EXPECT_EQ(-308343l, div64x32s(-138402828534598ll, 448859260l, 0) );
EXPECT_EQ(-217249l, div64x32s(-23068643837243ll, 106185128l, 0) );
EXPECT_EQ(-108221l, div64x32s(-138063699598082ll, 1275754273l, 0) );
EXPECT_EQ(-24501l, div64x32s(43826733082392ll, -1788759279l, 0) );
EXPECT_EQ(-151428l, div64x32s(-135714511849375ll, 896226645l, 0) );
EXPECT_EQ(29217l, div64x32s(-61843633886137ll, -2116637759l, 0) );
EXPECT_EQ(-13163l, div64x32s(-21038460266103ll, 1598237406l, 0) );
EXPECT_EQ(1166891l, div64x32s(58665989127953ll, 50275436l, 0) );
EXPECT_EQ(-24067l, div64x32s(-46596237442615ll, 1936096308l, 0) );
EXPECT_EQ(-72126l, div64x32s(-74596001977641ll, 1034235664l, 0) );
EXPECT_EQ(207224l, div64x32s(32935243440240ll, 158935268l, 0) );
EXPECT_EQ(104821l, div64x32s(137057681832137ll, 1307532658l, 0) );
EXPECT_EQ(-38574l, div64x32s(44796733358710ll, -1161317371l, 0) );
EXPECT_EQ(64833l, div64x32s(91836590160632ll, 1416507529l, 0) );
EXPECT_EQ(-36438l, div64x32s(64158484204664ll, -1760715181l, 0) );
EXPECT_EQ(228871l, div64x32s(-118288150694920ll, -516831922l, 0) );
EXPECT_EQ(-185350l, div64x32s(-99111368153811ll, 534723516l, 0) );
EXPECT_EQ(146321l, div64x32s(-18413233055031ll, -125841147l, 0) );
EXPECT_EQ(71797l, div64x32s(-71225389768965ll, -992028235l, 0) );
EXPECT_EQ(-50714l, div64x32s(99975829460483ll, -1971345158l, 0) );
EXPECT_EQ(97569l, div64x32s(94189213013717ll, 965350688l, 0) );
EXPECT_EQ(-555709l, div64x32s(-66211390835397ll, 119147511l, 0) );
EXPECT_EQ(81029l, div64x32s(7478716032909ll, 92296573l, 0) );
EXPECT_EQ(-60689l, div64x32s(-129283189266989ll, 2130255851l, 0) );
EXPECT_EQ(-116420l, div64x32s(-89040350416972ll, 764814107l, 0) );
EXPECT_EQ(168316l, div64x32s(-59040044367290ll, -350768360l, 0) );
EXPECT_EQ(16748l, div64x32s(-21264409183719ll, -1269640946l, 0) );
EXPECT_EQ(7851l, div64x32s(-13177412869441ll, -1678379843l, 0) );
EXPECT_EQ(-125812l, div64x32s(75519906769868ll, -600257742l, 0) );
EXPECT_EQ(-70383l, div64x32s(-120973923391511ll, 1718777074l, 0) );
EXPECT_EQ(151490l, div64x32s(37530457107684ll, 247740637l, 0) );
EXPECT_EQ(-76168l, div64x32s(-105317998544525ll, 1382704201l, 0) );
EXPECT_EQ(-52807l, div64x32s(76885149693035ll, -1455947965l, 0) );
EXPECT_EQ(91566l, div64x32s(122544539393197ll, 1338317834l, 0) );
EXPECT_EQ(-67429l, div64x32s(20351403698223ll, -301818810l, 0) );
EXPECT_EQ(31406l, div64x32s(-56923325428609ll, -1812483029l, 0) );
EXPECT_EQ(-243141l, div64x32s(89332243328700ll, -367408178l, 0) );
EXPECT_EQ(-2871784l, div64x32s(-114522428217419ll, 39878487l, 0) );
EXPECT_EQ(59080l, div64x32s(32242529995618ll, 545740894l, 0) );
EXPECT_EQ(-336944l, div64x32s(48409880455543ll, -143673298l, 0) );
EXPECT_EQ(5909l, div64x32s(2977394622220ll, 503855857l, 0) );
EXPECT_EQ(-59897l, div64x32s(108912065531692ll, -1818298057l, 0) );
EXPECT_EQ(-89595l, div64x32s(-121210215037033ll, 1352866885l, 0) );
EXPECT_EQ(-41574l, div64x32s(81772704567749ll, -1966898684l, 0) );
EXPECT_EQ(76649l, div64x32s(131103922028252ll, 1710426909l, 0) );
EXPECT_EQ(-446593l, div64x32s(29516239291040ll, -66092024l, 0) );
EXPECT_EQ(-466152730l, div64x32s(136530541034268ll, -292888l, 0) );
EXPECT_EQ(40378l, div64x32s(-20909114485761ll, -517830110l, 0) );
EXPECT_EQ(94505l, div64x32s(91540402691486ll, 968622442l, 0) );
EXPECT_EQ(-115803l, div64x32s(-21222856415993ll, 183266879l, 0) );
EXPECT_EQ(741135l, div64x32s(67139724080663ll, 90590334l, 0) );
EXPECT_EQ(-29915l, div64x32s(-41237125079700ll, 1378450956l, 0) );
EXPECT_EQ(42499l, div64x32s(46742687852723ll, 1099831685l, 0) );
EXPECT_EQ(289415l, div64x32s(110863075525049ll, 383057944l, 0) );
EXPECT_EQ(13210l, div64x32s(-18491784453341ll, -1399734565l, 0) );
EXPECT_EQ(-44559l, div64x32s(-94404139429250ll, 2118586525l, 0) );
EXPECT_EQ(-56973l, div64x32s(-76098631505573ll, 1335692993l, 0) );
EXPECT_EQ(-63833l, div64x32s(112425350428665ll, -1761221050l, 0) );
EXPECT_EQ(954549l, div64x32s(140283473393453ll, 146962960l, 0) );
EXPECT_EQ(-31440l, div64x32s(-19830887706488ll, 630739693l, 0) );
EXPECT_EQ(475554l, div64x32s(-138943867204002ll, -292172035l, 0) );
EXPECT_EQ(-21782l, div64x32s(36139589465373ll, -1659124977l, 0) );
EXPECT_EQ(62068l, div64x32s(43118629448101ll, 694697763l, 0) );
EXPECT_EQ(-19741l, div64x32s(-34704484301079ll, 1757940881l, 0) );
EXPECT_EQ(-15897540l, div64x32s(-60924193488186ll, 3832303l, 0) );
EXPECT_EQ(-109954l, div64x32s(-64583568136630ll, 587363902l, 0) );
EXPECT_EQ(-60627l, div64x32s(127544240930709ll, -2103722476l, 0) );
EXPECT_EQ(93354l, div64x32s(137964463087231ll, 1477849498l, 0) );
EXPECT_EQ(42488l, div64x32s(-31947522716505ll, -751906388l, 0) );
EXPECT_EQ(-204172l, div64x32s(73930281583287ll, -362096432l, 0) );
EXPECT_EQ(-534l, div64x32s(-721937789477ll, 1351380404l, 0) );
EXPECT_EQ(65331l, div64x32s(130297806932768ll, 1994415118l, 0) );
EXPECT_EQ(56609l, div64x32s(63110487831687ll, 1114838998l, 0) );
EXPECT_EQ(-154648l, div64x32s(-15234500266205ll, 98510338l, 0) );
EXPECT_EQ(240530l, div64x32s(-63296787523755ll, -263155142l, 0) );
EXPECT_EQ(105638l, div64x32s(52188933996477ll, 494031011l, 0) );
EXPECT_EQ(-10755l, div64x32s(16802699282271ll, -1562190554l, 0) );
EXPECT_EQ(-3836l, div64x32s(7951538878552ll, -2072473205l, 0) );
EXPECT_EQ(-16140l, div64x32s(34365120540230ll, -2129090047l, 0) );
EXPECT_EQ(-109565l, div64x32s(-68131458590401ll, 621832895l, 0) );
EXPECT_EQ(257445l, div64x32s(-64778693968718ll, -251620535l, 0) );
EXPECT_EQ(28277l, div64x32s(-53284633201855ll, -1884315632l, 0) );
EXPECT_EQ(853586l, div64x32s(74910122399936ll, 87759254l, 0) );
EXPECT_EQ(123330l, div64x32s(21217204316871ll, 172034989l, 0) );
EXPECT_EQ(-111411l, div64x32s(92042681385613ll, -826150427l, 0) );
EXPECT_EQ(-69699l, div64x32s(-49091890871603ll, 704333014l, 0) );
EXPECT_EQ(86924l, div64x32s(-107155611278498ll, -1232747566l, 0) );
EXPECT_EQ(-41399l, div64x32s(78744440634212ll, -1902078241l, 0) );
EXPECT_EQ(-8139l, div64x32s(12550925072225ll, -1542008251l, 0) );
EXPECT_EQ(12143l, div64x32s(-13951357953233ll, -1148854055l, 0) );
EXPECT_EQ(-73135l, div64x32s(-34755990538904ll, 475228441l, 0) );
EXPECT_EQ(-19869l, div64x32s(-19121557957687ll, 962352879l, 0) );
EXPECT_EQ(-138976l, div64x32s(-77464540676242ll, 557393727l, 0) );
EXPECT_EQ(-80639l, div64x32s(76219556631390ll, -945190491l, 0) );
EXPECT_EQ(-66641l, div64x32s(120436754231816ll, -1807244527l, 0) );
EXPECT_EQ(867432l, div64x32s(-128670199585332ll, -148334600l, 0) );
EXPECT_EQ(-26171l, div64x32s(-45687708784937ll, 1745703532l, 0) );
EXPECT_EQ(-76754l, div64x32s(135709952053806ll, -1768104571l, 0) );
EXPECT_EQ(3866l, div64x32s(-3857410254062ll, -997543248l, 0) );
EXPECT_EQ(5774666l, div64x32s(132839450215213ll, 23003829l, 0) );
EXPECT_EQ(-3528030l, div64x32s(97389955530606ll, -27604627l, 0) );
EXPECT_EQ(-126383l, div64x32s(20427591870806ll, -161632385l, 0) );
EXPECT_EQ(75221l, div64x32s(119951628179707ll, 1594637046l, 0) );
EXPECT_EQ(1371240l, div64x32s(115591075019682ll, 84296727l, 0) );
EXPECT_EQ(74660l, div64x32s(108492782464801ll, 1453143611l, 0) );
EXPECT_EQ(29647l, div64x32s(45990671970578ll, 1551252466l, 0) );
EXPECT_EQ(31599l, div64x32s(-59817410585069ll, -1892964862l, 0) );
EXPECT_EQ(-136091l, div64x32s(-132804947881674ll, 975851231l, 0) );
EXPECT_EQ(-21722l, div64x32s(-25942225521401ll, 1194229515l, 0) );
EXPECT_EQ(197691l, div64x32s(-126195205028729ll, -638343609l, 0) );
EXPECT_EQ(24266l, div64x32s(27003083686193ll, 1112767607l, 0) );
EXPECT_EQ(-84083l, div64x32s(-81116338918625ll, 964714826l, 0) );
EXPECT_EQ(163264l, div64x32s(-72943091650906ll, -446777850l, 0) );
EXPECT_EQ(-11704l, div64x32s(-16301399548511ll, 1392799814l, 0) );
EXPECT_EQ(-65143l, div64x32s(-71962888455863ll, 1104685868l, 0) );
EXPECT_EQ(150276l, div64x32s(-46340410837941ll, -308366945l, 0) );
EXPECT_EQ(-12529l, div64x32s(5481263216731ll, -437467065l, 0) );
EXPECT_EQ(170681l, div64x32s(-104210483332491ll, -610556136l, 0) );
EXPECT_EQ(70549l, div64x32s(20548554096405ll, 291264687l, 0) );
EXPECT_EQ(-64959l, div64x32s(18906939882860ll, -291059311l, 0) );
EXPECT_EQ(106302l, div64x32s(89955198438648ll, 846222689l, 0) );
EXPECT_EQ(68489l, div64x32s(-123808477496603ll, -1807705704l, 0) );
EXPECT_EQ(-101795l, div64x32s(127410355907296ll, -1251629734l, 0) );
EXPECT_EQ(22916l, div64x32s(-44956407316887ll, -1961761474l, 0) );
EXPECT_EQ(-70086l, div64x32s(-67805152965011ll, 967447897l, 0) );
EXPECT_EQ(-219740l, div64x32s(-131367552828468ll, 597830887l, 0) );
EXPECT_EQ(29607l, div64x32s(22067877477191ll, 745346394l, 0) );
EXPECT_EQ(58617l, div64x32s(122614829622397ll, 2091788454l, 0) );
EXPECT_EQ(50608l, div64x32s(43495567595441ll, 859457675l, 0) );
EXPECT_EQ(-71294l, div64x32s(-134265085919213ll, 1883252473l, 0) );
EXPECT_EQ(78654l, div64x32s(-59928319840241ll, -761922941l, 0) );
EXPECT_EQ(31938l, div64x32s(-67776623886497ll, -2122078111l, 0) );
EXPECT_EQ(155493l, div64x32s(124826540396787ll, 802776008l, 0) );
EXPECT_EQ(-27397l, div64x32s(38780655044222ll, -1415476226l, 0) );
EXPECT_EQ(-140847l, div64x32s(-112825836778009ll, 801051708l, 0) );
EXPECT_EQ(35859l, div64x32s(-66242662258325ll, -1847277287l, 0) );
EXPECT_EQ(127024l, div64x32s(-77786551898962ll, -612375928l, 0) );
EXPECT_EQ(164398l, div64x32s(106190524930725ll, 645934033l, 0) );
EXPECT_EQ(-37604l, div64x32s(51918983530728ll, -1380671878l, 0) );
EXPECT_EQ(-509510l, div64x32s(25478338973443ll, -50005544l, 0) );
EXPECT_EQ(33221l, div64x32s(-47160828710048ll, -1419587462l, 0) );
EXPECT_EQ(212965l, div64x32s(65499829702489ll, 307561339l, 0) );
EXPECT_EQ(119108l, div64x32s(53942070870802ll, 452882587l, 0) );
EXPECT_EQ(75292l, div64x32s(131710139781881ll, 1749316986l, 0) );
EXPECT_EQ(-118383l, div64x32s(86577964933436ll, -731335051l, 0) );
EXPECT_EQ(32504l, div64x32s(27472016451507ll, 845168506l, 0) );
EXPECT_EQ(29041l, div64x32s(-57713014763956ll, -1987273431l, 0) );
EXPECT_EQ(37124l, div64x32s(21880112031349ll, 589375648l, 0) );
EXPECT_EQ(199506l, div64x32s(-112202088870420ll, -562396985l, 0) );
EXPECT_EQ(-350079l, div64x32s(81703457933081ll, -233385734l, 0) );
EXPECT_EQ(-16640l, div64x32s(20324237447277ll, -1221340352l, 0) );
EXPECT_EQ(-223055l, div64x32s(102186155323697ll, -458119550l, 0) );
EXPECT_EQ(-1120968l, div64x32s(134824109360609ll, -120274699l, 0) );
EXPECT_EQ(-271635l, div64x32s(-32527168142765ll, 119745716l, 0) );
EXPECT_EQ(93592l, div64x32s(18538723964603ll, 198078799l, 0) );
EXPECT_EQ(15752l, div64x32s(-30100033397168ll, -1910846942l, 0) );
EXPECT_EQ(-92852l, div64x32s(132742336508318ll, -1429609771l, 0) );
EXPECT_EQ(1019120l, div64x32s(96134614170869ll, 94330957l, 0) );
EXPECT_EQ(16645l, div64x32s(-15148837252761ll, -910061436l, 0) );
EXPECT_EQ(8492l, div64x32s(-2621140522633ll, -308630629l, 0) );
EXPECT_EQ(-81384l, div64x32s(-123875599588426ll, 1522106020l, 0) );
EXPECT_EQ(-42085l, div64x32s(-74097126490316ll, 1760640497l, 0) );
EXPECT_EQ(14089l, div64x32s(24697772584023ll, 1752903180l, 0) );
EXPECT_EQ(-12144l, div64x32s(8560768809459ll, -704928976l, 0) );
EXPECT_EQ(-46892l, div64x32s(-80956954802655ll, 1726443721l, 0) );
EXPECT_EQ(295288l, div64x32s(77417734895752ll, 262176364l, 0) );
EXPECT_EQ(-172010l, div64x32s(76061545407417ll, -442192287l, 0) );
EXPECT_EQ(-7062l, div64x32s(13413650561938ll, -1899380596l, 0) );
EXPECT_EQ(-86570l, div64x32s(107582335687058ll, -1242708197l, 0) );
EXPECT_EQ(-16441l, div64x32s(34845723868269ll, -2119437527l, 0) );
EXPECT_EQ(-2317l, div64x32s(2732799915602ll, -1179338997l, 0) );
EXPECT_EQ(17857l, div64x32s(-34601018070145ll, -1937643509l, 0) );
EXPECT_EQ(-77955l, div64x32s(-96642400084813ll, 1239705636l, 0) );
EXPECT_EQ(-38510l, div64x32s(74450234334034ll, -1933256052l, 0) );
EXPECT_EQ(-4830l, div64x32s(6292151088931ll, -1302477696l, 0) );
EXPECT_EQ(-109479l, div64x32s(-120229861540256ll, 1098192710l, 0) );
EXPECT_EQ(78848l, div64x32s(133424903446634ll, 1692172226l, 0) );
EXPECT_EQ(72334l, div64x32s(138024982498450ll, 1908154819l, 0) );
EXPECT_EQ(-174729l, div64x32s(53572773052272ll, -306603568l, 0) );
EXPECT_EQ(-34894l, div64x32s(-33425086242848ll, 957878497l, 0) );
EXPECT_EQ(1163642l, div64x32s(20471594757042ll, 17592690l, 0) );
EXPECT_EQ(-236574l, div64x32s(72934146839094ll, -308293097l, 0) );
EXPECT_EQ(1507816l, div64x32s(-38273737756898ll, -25383547l, 0) );
EXPECT_EQ(-46652l, div64x32s(62878686795852ll, -1347815240l, 0) );
EXPECT_EQ(-18753l, div64x32s(-30856798545045ll, 1645348881l, 0) );
EXPECT_EQ(185852l, div64x32s(-109101046896480ll, -587031363l, 0) );
EXPECT_EQ(167272l, div64x32s(-34115822158051ll, -203953067l, 0) );
EXPECT_EQ(-377010l, div64x32s(-87621706859161ll, 232412091l, 0) );
EXPECT_EQ(9915l, div64x32s(-387969728939ll, -39126156l, 0) );
EXPECT_EQ(-6138l, div64x32s(-10210868401915ll, 1663304774l, 0) );
EXPECT_EQ(30664l, div64x32s(36983988513078ll, 1206089324l, 0) );
EXPECT_EQ(-11605l, div64x32s(5467864314609ll, -471156027l, 0) );
EXPECT_EQ(-180878l, div64x32s(132024191032939ll, -729905935l, 0) );
EXPECT_EQ(-24923l, div64x32s(43823504381601ll, -1758352793l, 0) );
EXPECT_EQ(78879l, div64x32s(71288398240214ll, 903761557l, 0) );
EXPECT_EQ(-104480l, div64x32s(60586804123196ll, -579883712l, 0) );
EXPECT_EQ(33671l, div64x32s(60032881729579ll, 1782922351l, 0) );
EXPECT_EQ(-43826l, div64x32s(89160108097997ll, -2034389110l, 0) );
EXPECT_EQ(-32432l, div64x32s(-58005344290834ll, 1788497718l, 0) );
EXPECT_EQ(71889l, div64x32s(98223599537713ll, 1366310071l, 0) );
EXPECT_EQ(114583l, div64x32s(110149967498841ll, 961304538l, 0) );
EXPECT_EQ(16511l, div64x32s(27227216490818ll, 1649027645l, 0) );
EXPECT_EQ(-119284l, div64x32s(38118478018277ll, -319559908l, 0) );
EXPECT_EQ(-64863l, div64x32s(-81936795727707ll, 1263221184l, 0) );
EXPECT_EQ(17129l, div64x32s(-36632827804152ll, -2138636478l, 0) );
EXPECT_EQ(235056l, div64x32s(124568604076731ll, 529952090l, 0) );
EXPECT_EQ(25983l, div64x32s(8267978577051ll, 318204481l, 0) );
EXPECT_EQ(-38072l, div64x32s(-56953129731439ll, 1495927461l, 0) );
EXPECT_EQ(-16407l, div64x32s(-16902643191901ll, 1030186231l, 0) );
EXPECT_EQ(34876l, div64x32s(-51747752584404ll, -1483743066l, 0) );
EXPECT_EQ(108517l, div64x32s(102930238998946ll, 948510415l, 0) );
EXPECT_EQ(-186795l, div64x32s(65408840311245ll, -350163357l, 0) );
EXPECT_EQ(282626l, div64x32s(29047439111467ll, 102776636l, 0) );
EXPECT_EQ(1201387l, div64x32s(-32925702495032ll, -27406408l, 0) );
EXPECT_EQ(-90067l, div64x32s(-98553081050285ll, 1094215669l, 0) );
EXPECT_EQ(13546l, div64x32s(-26712441059412ll, -1971865795l, 0) );
EXPECT_EQ(743l, div64x32s(388096556940ll, 522006987l, 0) );
EXPECT_EQ(117090l, div64x32s(-93596972842765ll, -799354702l, 0) );
EXPECT_EQ(-135700l, div64x32s(99884012146704ll, -736062546l, 0) );
EXPECT_EQ(-49702l, div64x32s(-88717266411115ll, 1784951761l, 0) );
EXPECT_EQ(-53523l, div64x32s(89345153070770ll, -1669281108l, 0) );
EXPECT_EQ(34454l, div64x32s(58408355254172ll, 1695219849l, 0) );
EXPECT_EQ(-347978l, div64x32s(-117223308164183ll, 336869698l, 0) );
EXPECT_EQ(29664l, div64x32s(55660418367565ll, 1876306210l, 0) );
EXPECT_EQ(93840l, div64x32s(111068142053774ll, 1183590436l, 0) );
EXPECT_EQ(37444l, div64x32s(66078403028805ll, 1764692011l, 0) );
EXPECT_EQ(359408l, div64x32s(-113370898377768ll, -315437743l, 0) );
EXPECT_EQ(69669l, div64x32s(-87331119693972ll, -1253510631l, 0) );
EXPECT_EQ(-8115l, div64x32s(2372296211919ll, -292309395l, 0) );
EXPECT_EQ(16176l, div64x32s(-31239244892323ll, -1931165400l, 0) );
EXPECT_EQ(36320l, div64x32s(-58622695058780ll, -1614048538l, 0) );
EXPECT_EQ(6096l, div64x32s(8783413065225ll, 1440833960l, 0) );
EXPECT_EQ(-58331l, div64x32s(-54945763758622ll, 941960624l, 0) );
EXPECT_EQ(81278l, div64x32s(71893804939260ll, 884540219l, 0) );
EXPECT_EQ(28701l, div64x32s(24451496037209ll, 851910122l, 0) );
EXPECT_EQ(549530l, div64x32s(128829552227242ll, 234435839l, 0) );
EXPECT_EQ(84326l, div64x32s(138411425009560ll, 1641379114l, 0) );
EXPECT_EQ(-166719l, div64x32s(-51030501649643ll, 306085095l, 0) );
EXPECT_EQ(-341280l, div64x32s(135696636397234ll, -397610484l, 0) );
EXPECT_EQ(51783l, div64x32s(62105310201597ll, 1199335312l, 0) );
EXPECT_EQ(6392808l, div64x32s(19831015802509ll, 3102082l, 0) );
EXPECT_EQ(368181l, div64x32s(110136271333457ll, 299136118l, 0) );
EXPECT_EQ(-120640l, div64x32s(-130439721459202ll, 1081227851l, 0) );
EXPECT_EQ(-1128l, div64x32s(-1118200354965ll, 990726476l, 0) );
EXPECT_EQ(4174l, div64x32s(1276447765111ll, 305741167l, 0) );
EXPECT_EQ(46348l, div64x32s(61840368679545ll, 1334248668l, 0) );
EXPECT_EQ(1314963l, div64x32s(36199675880453ll, 27529033l, 0) );
EXPECT_EQ(-62883l, div64x32s(88610544245474ll, -1409121000l, 0) );
EXPECT_EQ(22412l, div64x32s(41460045005118ll, 1849893266l, 0) );
EXPECT_EQ(3382196l, div64x32s(-82326055437706ll, -24341003l, 0) );
EXPECT_EQ(-10709l, div64x32s(-22849741283064ll, 2133551581l, 0) );
EXPECT_EQ(46369l, div64x32s(-84882929038141ll, -1830562200l, 0) );
EXPECT_EQ(-128051l, div64x32s(101335472372138ll, -791362907l, 0) );
EXPECT_EQ(5233l, div64x32s(7741137242162ll, 1479225550l, 0) );
EXPECT_EQ(87667l, div64x32s(-96398156000563ll, -1099582232l, 0) );
EXPECT_EQ(-26958l, div64x32s(-46923061872948ll, 1740571152l, 0) );
EXPECT_EQ(-37357l, div64x32s(-20566067141929ll, 550523963l, 0) );
EXPECT_EQ(81404l, div64x32s(97544971238545ll, 1198277599l, 0) );
EXPECT_EQ(106412l, div64x32s(86583189072645ll, 813656563l, 0) );
EXPECT_EQ(108172l, div64x32s(-132613433534482ll, -1225946812l, 0) );
EXPECT_EQ(96731l, div64x32s(-116569782296771ll, -1205092107l, 0) );
EXPECT_EQ(118690l, div64x32s(-5997789730660ll, -50532938l, 0) );
EXPECT_EQ(-37511l, div64x32s(-29497930225104ll, 786370403l, 0) );
EXPECT_EQ(-85908l, div64x32s(106116721172146ll, -1235236159l, 0) );
EXPECT_EQ(67472l, div64x32s(109341422197082ll, 1620529597l, 0) );
EXPECT_EQ(-90861l, div64x32s(91436076856179ll, -1006324487l, 0) );
EXPECT_EQ(-93699l, div64x32s(131573145479269ll, -1404201120l, 0) );
EXPECT_EQ(-676155l, div64x32s(35467896899974ll, -52455211l, 0) );
EXPECT_EQ(51021l, div64x32s(-97102741534503ll, -1903191362l, 0) );
EXPECT_EQ(-64982l, div64x32s(115616968308028ll, -1779198419l, 0) );
EXPECT_EQ(-64389l, div64x32s(-134561986653345ll, 2089827249l, 0) );
EXPECT_EQ(124153l, div64x32s(84384532165347ll, 679680511l, 0) );
EXPECT_EQ(46932l, div64x32s(-59980248345713ll, -1278022075l, 0) );
EXPECT_EQ(33953l, div64x32s(-25779052573409ll, -759238991l, 0) );
EXPECT_EQ(-92646l, div64x32s(82739923467848ll, -893069884l, 0) );
EXPECT_EQ(23014l, div64x32s(-44880006313359ll, -1950050918l, 0) );
EXPECT_EQ(-152982l, div64x32s(68801383177104ll, -449733859l, 0) );
EXPECT_EQ(-369716l, div64x32s(123485176933455ll, -333999707l, 0) );
EXPECT_EQ(73867l, div64x32s(-60093004659490ll, -813526669l, 0) );
EXPECT_EQ(32797l, div64x32s(-31255020047757ll, -952979118l, 0) );
EXPECT_EQ(48939l, div64x32s(68552942905378ll, 1400774844l, 0) );
EXPECT_EQ(-77970l, div64x32s(-105626894606257ll, 1354703029l, 0) );
EXPECT_EQ(41288l, div64x32s(54216315837525ll, 1313095396l, 0) );
EXPECT_EQ(-24812l, div64x32s(26474672964392ll, -1066998919l, 0) );
EXPECT_EQ(-7934l, div64x32s(6365713139597ll, -802311801l, 0) );
EXPECT_EQ(68092l, div64x32s(51820165613076ll, 761029837l, 0) );
EXPECT_EQ(26823l, div64x32s(48146624378115ll, 1794917124l, 0) );
EXPECT_EQ(75290l, div64x32s(-123678167489598ll, -1642669566l, 0) );
EXPECT_EQ(-327454l, div64x32s(17987667520693ll, -54931884l, 0) );
EXPECT_EQ(-25030l, div64x32s(-28918815802459ll, 1155365612l, 0) );
EXPECT_EQ(45812l, div64x32s(-89293658608164ll, -1949124600l, 0) );
EXPECT_EQ(1008156l, div64x32s(-139081012576207ll, -137955769l, 0) );
EXPECT_EQ(161365l, div64x32s(-35082340887294ll, -217409457l, 0) );
EXPECT_EQ(-86505l, div64x32s(120199317691494ll, -1389496197l, 0) );
EXPECT_EQ(-6882l, div64x32s(-14586774255524ll, 2119507496l, 0) );
EXPECT_EQ(-8072l, div64x32s(16763521284038ll, -2076578420l, 0) );
EXPECT_EQ(-138358l, div64x32s(75661183822981ll, -546848602l, 0) );
EXPECT_EQ(-144149l, div64x32s(-83203156028031ll, 577202395l, 0) );
EXPECT_EQ(87406l, div64x32s(129094499186369ll, 1476939165l, 0) );
EXPECT_EQ(-135813l, div64x32s(123845858704646ll, -911884732l, 0) );
EXPECT_EQ(-15037l, div64x32s(16841129875355ll, -1119950044l, 0) );
EXPECT_EQ(12146l, div64x32s(21567137544965ll, 1775648212l, 0) );
EXPECT_EQ(-86136l, div64x32s(-124670638053791ll, 1447365777l, 0) );
EXPECT_EQ(87732l, div64x32s(41709914110392ll, 475423210l, 0) );
EXPECT_EQ(328986l, div64x32s(112313493127043ll, 341392890l, 0) );
EXPECT_EQ(-16322l, div64x32s(-8229169284188ll, 504175133l, 0) );
EXPECT_EQ(47900l, div64x32s(-69197872783405ll, -1444619323l, 0) );
EXPECT_EQ(-14247l, div64x32s(-18405882818004ll, 1291860835l, 0) );
EXPECT_EQ(98859l, div64x32s(-68574483790957ll, -693654128l, 0) );
EXPECT_EQ(254889l, div64x32s(-45354895937812ll, -177939327l, 0) );
EXPECT_EQ(61801l, div64x32s(49243559168573ll, 796798937l, 0) );
EXPECT_EQ(-14637l, div64x32s(-28746314179054ll, 1963936015l, 0) );
EXPECT_EQ(81984l, div64x32s(-53322834511538ll, -650402978l, 0) );
EXPECT_EQ(-131681l, div64x32s(127869875611224ll, -971052161l, 0) );
EXPECT_EQ(125309l, div64x32s(44965413743326ll, 358834686l, 0) );
EXPECT_EQ(33129l, div64x32s(-44161739592771ll, -1333004311l, 0) );
EXPECT_EQ(37491l, div64x32s(-42723564925265ll, -1139555974l, 0) );
EXPECT_EQ(-52601l, div64x32s(107191608046234ll, -2037801023l, 0) );
EXPECT_EQ(265042l, div64x32s(-138458870382845ll, -522402846l, 0) );
EXPECT_EQ(109250l, div64x32s(118074793020420ll, 1080770275l, 0) );
EXPECT_EQ(-199593l, div64x32s(36499117907882ll, -182867663l, 0) );
EXPECT_EQ(931852l, div64x32s(-107144088850557ll, -114979722l, 0) );
EXPECT_EQ(50630l, div64x32s(101130486026557ll, 1997431895l, 0) );
EXPECT_EQ(-96833l, div64x32s(88967635828450ll, -918771540l, 0) );
EXPECT_EQ(41449l, div64x32s(80858194711162ll, 1950757468l, 0) );
EXPECT_EQ(-77364l, div64x32s(-62790099675651ll, 811618112l, 0) );
EXPECT_EQ(-5296l, div64x32s(9446642957587ll, -1783432578l, 0) );
EXPECT_EQ(-37762l, div64x32s(-40176537203931ll, 1063921726l, 0) );
EXPECT_EQ(97293l, div64x32s(94886453979159ll, 975263200l, 0) );
EXPECT_EQ(60101l, div64x32s(119319882450936ll, 1985312750l, 0) );
EXPECT_EQ(62454l, div64x32s(-90105328374565ll, -1442735482l, 0) );
EXPECT_EQ(-25910l, div64x32s(51832914843203ll, -2000439849l, 0) );
EXPECT_EQ(-61052l, div64x32s(129325833546733ll, -2118282194l, 0) );
EXPECT_EQ(19526l, div64x32s(-39463109613982ll, -2021029540l, 0) );
EXPECT_EQ(48061l, div64x32s(-36723466638564ll, -764091820l, 0) );
EXPECT_EQ(-86134l, div64x32s(-102677213351957ll, 1192055625l, 0) );
EXPECT_EQ(128374l, div64x32s(-68208537440569ll, -531325591l, 0) );
EXPECT_EQ(60381l, div64x32s(60344728617114ll, 999384857l, 0) );
EXPECT_EQ(215051l, div64x32s(80433945406824ll, 374022624l, 0) );
EXPECT_EQ(174981l, div64x32s(-64460353583740ll, -368383675l, 0) );
EXPECT_EQ(-69093l, div64x32s(105846072227077ll, -1531922158l, 0) );
EXPECT_EQ(249500l, div64x32s(-81532593138974ll, -326782720l, 0) );
EXPECT_EQ(-81800l, div64x32s(115772858914189ll, -1415315782l, 0) );
EXPECT_EQ(53133l, div64x32s(-83666225753501ll, -1574650625l, 0) );
EXPECT_EQ(-73093l, div64x32s(-24595067388772ll, 336488093l, 0) );
EXPECT_EQ(46225l, div64x32s(-47457168987737ll, -1026636457l, 0) );
EXPECT_EQ(-110572l, div64x32s(-8804890206540ll, 79629764l, 0) );
EXPECT_EQ(20348l, div64x32s(-26720611020967ll, -1313176512l, 0) );
EXPECT_EQ(8426l, div64x32s(13281589877743ll, 1576077146l, 0) );
EXPECT_EQ(-48159l, div64x32s(94790350560028ll, -1968265947l, 0) );
EXPECT_EQ(38662l, div64x32s(62729309532763ll, 1622496639l, 0) );
EXPECT_EQ(63890l, div64x32s(-112945077448478ll, -1767787193l, 0) );
EXPECT_EQ(97422l, div64x32s(-66453076136320ll, -682114557l, 0) );
EXPECT_EQ(238530l, div64x32s(90982115333838ll, 381427697l, 0) );
EXPECT_EQ(1160836l, div64x32s(-123708391771144ll, -106568360l, 0) );
EXPECT_EQ(3426l, div64x32s(-4097889804388ll, -1195967494l, 0) );
EXPECT_EQ(1115l, div64x32s(697245573421ll, 625029603l, 0) );
EXPECT_EQ(397017l, div64x32s(-90052930795154ll, -226823732l, 0) );
EXPECT_EQ(-2431226l, div64x32s(102006343926866ll, -41956744l, 0) );
EXPECT_EQ(12618l, div64x32s(22789099425161ll, 1806006678l, 0) );
EXPECT_EQ(74264l, div64x32s(-83684374641800ll, -1126848677l, 0) );
EXPECT_EQ(-92261l, div64x32s(-65194655750838ll, 706627448l, 0) );
EXPECT_EQ(-274620l, div64x32s(-109677650660938ll, 399379663l, 0) );
EXPECT_EQ(-53245l, div64x32s(79843597951316ll, -1499535851l, 0) );
EXPECT_EQ(-55703l, div64x32s(-90101332394773ll, 1617524219l, 0) );
EXPECT_EQ(40172l, div64x32s(-22078270492767ll, -549586427l, 0) );
EXPECT_EQ(16184l, div64x32s(-34510901696937ll, -2132348953l, 0) );
EXPECT_EQ(-91255l, div64x32s(123636789571218ll, -1354847763l, 0) );
EXPECT_EQ(-111103l, div64x32s(-16975729723148ll, 152792042l, 0) );
EXPECT_EQ(-108876l, div64x32s(119002738421619ll, -1093010554l, 0) );
EXPECT_EQ(-265161l, div64x32s(-129052911420338ll, 486695106l, 0) );
EXPECT_EQ(50173l, div64x32s(83919477758110ll, 1672571621l, 0) );
EXPECT_EQ(80101l, div64x32s(131926320511313ll, 1646995254l, 0) );
EXPECT_EQ(80838l, div64x32s(68294768797895ll, 844828564l, 0) );
EXPECT_EQ(23850l, div64x32s(41942022968650ll, 1758532844l, 0) );
EXPECT_EQ(-21140l, div64x32s(-27058579900977ll, 1279945085l, 0) );
EXPECT_EQ(149112l, div64x32s(-68368586856625ll, -458503172l, 0) );
EXPECT_EQ(112553l, div64x32s(119018015903882ll, 1057438820l, 0) );
EXPECT_EQ(-12834010l, div64x32s(122170925386326ll, -9519310l, 0) );
EXPECT_EQ(-51926l, div64x32s(43243179746924ll, -832772858l, 0) );
EXPECT_EQ(-1781003l, div64x32s(129941480292447ll, -72959694l, 0) );
EXPECT_EQ(38240l, div64x32s(-80690370801906ll, -2110062682l, 0) );
EXPECT_EQ(48001l, div64x32s(30942656880212ll, 644624958l, 0) );
EXPECT_EQ(-16505l, div64x32s(19619693027363ll, -1188698998l, 0) );
EXPECT_EQ(-26019l, div64x32s(-14629719732654ll, 562251148l, 0) );
EXPECT_EQ(58131l, div64x32s(95429880803621ll, 1641621082l, 0) );
EXPECT_EQ(-67395l, div64x32s(39897592109630ll, -591989378l, 0) );
EXPECT_EQ(45934l, div64x32s(-86609624064877ll, -1885489223l, 0) );
EXPECT_EQ(59472l, div64x32s(91157423813904ll, 1532763424l, 0) );
EXPECT_EQ(-24340612l, div64x32s(40459744468074ll, -1662232l, 0) );
EXPECT_EQ(40199l, div64x32s(-50342874193819ll, -1252336211l, 0) );
EXPECT_EQ(40200l, div64x32s(61749831875945ll, 1536056692l, 0) );
EXPECT_EQ(25185l, div64x32s(15917160410703ll, 631992067l, 0) );
EXPECT_EQ(-5187l, div64x32s(1749080085905ll, -337140402l, 0) );
EXPECT_EQ(50377l, div64x32s(-23399343680743ll, -464479283l, 0) );
EXPECT_EQ(-97498l, div64x32s(85668635553362ll, -878665339l, 0) );
EXPECT_EQ(107930l, div64x32s(104455102808075ll, 967795502l, 0) );
EXPECT_EQ(366338l, div64x32s(-108045406175904ll, -294932879l, 0) );
EXPECT_EQ(-92632l, div64x32s(92706902398757ll, -1000802545l, 0) );
EXPECT_EQ(41604l, div64x32s(-70876005208518ll, -1703552577l, 0) );
EXPECT_EQ(98440l, div64x32s(105081836624500ll, 1067461196l, 0) );
EXPECT_EQ(42047l, div64x32s(55118434172095ll, 1310863992l, 0) );
EXPECT_EQ(-93457l, div64x32s(108925774017730ll, -1165517434l, 0) );
EXPECT_EQ(69395l, div64x32s(-17232941828435ll, -248330842l, 0) );
EXPECT_EQ(1493877l, div64x32s(84929180619081ll, 56851486l, 0) );
EXPECT_EQ(-504577l, div64x32s(127790208520294ll, -253261813l, 0) );
EXPECT_EQ(174403l, div64x32s(124585289807277ll, 714350818l, 0) );
EXPECT_EQ(-164747l, div64x32s(-81411393672515ll, 494157179l, 0) );
EXPECT_EQ(166922l, div64x32s(-46351697122577ll, -277683758l, 0) );
EXPECT_EQ(840387l, div64x32s(-109020305185221ll, -129726186l, 0) );
EXPECT_EQ(37041l, div64x32s(-20544877585588ll, -554646962l, 0) );
EXPECT_EQ(-71872l, div64x32s(-61681099933609ll, 858201405l, 0) );
EXPECT_EQ(-20778l, div64x32s(28450165189528ll, -1369194168l, 0) );
EXPECT_EQ(410262l, div64x32s(-135360807373172ll, -329937010l, 0) );
EXPECT_EQ(-41884l, div64x32s(63947830136353ll, -1526757748l, 0) );
EXPECT_EQ(83l, div64x32s(-99508321708ll, -1190549267l, 0) );
EXPECT_EQ(522049l, div64x32s(-126457800885165ll, -242233301l, 0) );
EXPECT_EQ(29820l, div64x32s(-28789405015388ll, -965435644l, 0) );
EXPECT_EQ(697556l, div64x32s(-36027674003350ll, -51648381l, 0) );
EXPECT_EQ(-20380l, div64x32s(15268657056532ll, -749170830l, 0) );
EXPECT_EQ(42432l, div64x32s(-72659076399131ll, -1712344810l, 0) );
EXPECT_EQ(-34673l, div64x32s(38367644031461ll, -1106528420l, 0) );
EXPECT_EQ(-129594l, div64x32s(-127093465355557ll, 980698107l, 0) );
EXPECT_EQ(-44690l, div64x32s(-82658647082002ll, 1849589456l, 0) );
EXPECT_EQ(119464l, div64x32s(63347375101413ll, 530261073l, 0) );
EXPECT_EQ(-45624l, div64x32s(-84667590791009ll, 1855744211l, 0) );
EXPECT_EQ(-333502l, div64x32s(111059438954420ll, -333008959l, 0) );
EXPECT_EQ(212075l, div64x32s(-127399133319508ll, -600725839l, 0) );
EXPECT_EQ(44766l, div64x32s(-83027046439366ll, -1854670661l, 0) );
EXPECT_EQ(36447l, div64x32s(-18199325996985ll, -499331866l, 0) );
EXPECT_EQ(114045l, div64x32s(137621479256208ll, 1206726987l, 0) );
EXPECT_EQ(-22997l, div64x32s(-20642848012874ll, 897602508l, 0) );
EXPECT_EQ(1095562l, div64x32s(113967642450153ll, 104026643l, 0) );
EXPECT_EQ(56071l, div64x32s(95834121910359ll, 1709139276l, 0) );
EXPECT_EQ(147847l, div64x32s(-76636828862032ll, -518352031l, 0) );
EXPECT_EQ(-144666l, div64x32s(125916216299954ll, -870390674l, 0) );
EXPECT_EQ(74435l, div64x32s(-30524905380069ll, -410088063l, 0) );
EXPECT_EQ(53295l, div64x32s(105090029409363ll, 1971850970l, 0) );
EXPECT_EQ(38917l, div64x32s(49207963113196ll, 1264410433l, 0) );
EXPECT_EQ(-19141l, div64x32s(16197585940586ll, -846205939l, 0) );
EXPECT_EQ(39065l, div64x32s(-18155198831356ll, -464740981l, 0) );
EXPECT_EQ(-123486l, div64x32s(140154701224673ll, -1134984052l, 0) );
EXPECT_EQ(-76887l, div64x32s(-65077793350430ll, 846400267l, 0) );
EXPECT_EQ(-66385l, div64x32s(-89555357756023ll, 1349012992l, 0) );
EXPECT_EQ(-17983l, div64x32s(-35056532733588ll, 1949390065l, 0) );
EXPECT_EQ(33876l, div64x32s(52201720274426ll, 1540964062l, 0) );
EXPECT_EQ(85883l, div64x32s(-134223355936505ll, -1562859065l, 0) );
EXPECT_EQ(29134l, div64x32s(-44866745231953ll, -1539995528l, 0) );
EXPECT_EQ(-552l, div64x32s(-856523022069ll, 1550328625l, 0) );
EXPECT_EQ(-10645l, div64x32s(-14852290133322ll, 1395154447l, 0) );
EXPECT_EQ(-155299l, div64x32s(38944084202440ll, -250767666l, 0) );
EXPECT_EQ(-72502l, div64x32s(71383715307121ll, -984571221l, 0) );
EXPECT_EQ(108938l, div64x32s(-74630205540422ll, -685065753l, 0) );
EXPECT_EQ(-87436l, div64x32s(-71778520420698ll, 820924816l, 0) );
EXPECT_EQ(-129875l, div64x32s(134321082474281ll, -1034229399l, 0) );
EXPECT_EQ(-1061011l, div64x32s(-121084672746781ll, 114121890l, 0) );
EXPECT_EQ(29114l, div64x32s(32703010185154ll, 1123248102l, 0) );
EXPECT_EQ(82750l, div64x32s(122184989541119ll, 1476549908l, 0) );
EXPECT_EQ(-64823l, div64x32s(111498588793706ll, -1720023434l, 0) );
EXPECT_EQ(-174034l, div64x32s(21252764738163ll, -122118112l, 0) );
EXPECT_EQ(-31923l, div64x32s(-63987596417856ll, 2004376087l, 0) );
EXPECT_EQ(-40341l, div64x32s(-40713510853378ll, 1009219667l, 0) );
EXPECT_EQ(22552l, div64x32s(47159891344675ll, 2091136576l, 0) );
EXPECT_EQ(9391l, div64x32s(18391262522549ll, 1958298281l, 0) );
EXPECT_EQ(-11832l, div64x32s(-22987165623266ll, 1942780825l, 0) );
EXPECT_EQ(-64495l, div64x32s(120866096436753ll, -1874019629l, 0) );
EXPECT_EQ(-60843l, div64x32s(110763355763220ll, -1820461258l, 0) );
EXPECT_EQ(8528l, div64x32s(7370957142740ll, 864303365l, 0) );
EXPECT_EQ(85310l, div64x32s(21174642868252ll, 248208178l, 0) );
EXPECT_EQ(-91407l, div64x32s(-131139781003494ll, 1434668796l, 0) );
EXPECT_EQ(-8386l, div64x32s(-15884171169090ll, 1893994016l, 0) );
EXPECT_EQ(70601l, div64x32s(-133067460723007ll, -1884755420l, 0) );
EXPECT_EQ(-105654l, div64x32s(100567785414889ll, -951853616l, 0) );
EXPECT_EQ(-2455313l, div64x32s(128416902881462ll, -52301625l, 0) );
EXPECT_EQ(-85503l, div64x32s(75970192370765ll, -888501103l, 0) );
EXPECT_EQ(-26418l, div64x32s(33240258472173ll, -1258228924l, 0) );
EXPECT_EQ(51962l, div64x32s(40596491365961ll, 781259602l, 0) );
EXPECT_EQ(-97980l, div64x32s(51218647944156ll, -522744659l, 0) );
EXPECT_EQ(-11738l, div64x32s(25131290796564ll, -2140895140l, 0) );
EXPECT_EQ(54859l, div64x32s(-113611729931433ll, -2070956749l, 0) );
EXPECT_EQ(107958l, div64x32s(138341470269182ll, 1281436150l, 0) );
EXPECT_EQ(-92211l, div64x32s(111450513561287ll, -1208639436l, 0) );
EXPECT_EQ(82300l, div64x32s(-138231331959436ll, -1679584057l, 0) );
EXPECT_EQ(26415l, div64x32s(12885051779229ll, 487785234l, 0) );
EXPECT_EQ(-159424l, div64x32s(-72573695043464ll, 455222661l, 0) );
EXPECT_EQ(100581l, div64x32s(-133102310197537ll, -1323330709l, 0) );
EXPECT_EQ(122980l, div64x32s(107169653533662ll, 871438911l, 0) );
EXPECT_EQ(198653l, div64x32s(41065505040418ll, 206719457l, 0) );
EXPECT_EQ(-35131l, div64x32s(-69356337122398ll, 1974209820l, 0) );
EXPECT_EQ(-99565l, div64x32s(138040692444993ll, -1386436267l, 0) );
EXPECT_EQ(86978l, div64x32s(-67001783752895ll, -770329773l, 0) );
EXPECT_EQ(1130766l, div64x32s(-45231148449223ll, -40000421l, 0) );
EXPECT_EQ(-44475l, div64x32s(-72319555494767ll, 1626044284l, 0) );
EXPECT_EQ(360737l, div64x32s(45944137595859ll, 127361779l, 0) );
EXPECT_EQ(-113109l, div64x32s(73084503853077ll, -646138088l, 0) );
EXPECT_EQ(51431l, div64x32s(-78791887581599ll, -1531980499l, 0) );
EXPECT_EQ(-4855l, div64x32s(9399068291289ll, -1935876916l, 0) );
EXPECT_EQ(91825l, div64x32s(-84684893531590ll, -922234451l, 0) );
EXPECT_EQ(48310l, div64x32s(30413526410695ll, 629539987l, 0) );
EXPECT_EQ(2702l, div64x32s(-2281364279760ll, -844058922l, 0) );
EXPECT_EQ(55151l, div64x32s(96151911140072ll, 1743399693l, 0) );
EXPECT_EQ(-53306l, div64x32s(-59809491986039ll, 1121986322l, 0) );
EXPECT_EQ(40096l, div64x32s(35575867465956ll, 887254936l, 0) );
EXPECT_EQ(-129808l, div64x32s(-139927325536601ll, 1077952560l, 0) );
EXPECT_EQ(48578l, div64x32s(-45339283452241ll, -933323446l, 0) );
EXPECT_EQ(65794l, div64x32s(64558997773340ll, 981216113l, 0) );
EXPECT_EQ(23215l, div64x32s(36142329322232ll, 1556809079l, 0) );
EXPECT_EQ(-176774l, div64x32s(120152268808484ll, -679693545l, 0) );
EXPECT_EQ(-43375l, div64x32s(-63460102636464ll, 1463035825l, 0) );
EXPECT_EQ(-60323l, div64x32s(75335165482099ll, -1248856459l, 0) );
EXPECT_EQ(-227296l, div64x32s(-34604663512235ll, 152244430l, 0) );
EXPECT_EQ(252009l, div64x32s(-135254368128844ll, -536703706l, 0) );
EXPECT_EQ(-57601l, div64x32s(-111450143535936ll, 1934832254l, 0) );
EXPECT_EQ(80182l, div64x32s(28966418846635ll, 361258090l, 0) );
EXPECT_EQ(-16528l, div64x32s(-23232970443675ll, 1405635881l, 0) );
EXPECT_EQ(-134275l, div64x32s(-59508339259568ll, 443181630l, 0) );
EXPECT_EQ(23691l, div64x32s(-28794061343706ll, -1215378438l, 0) );
EXPECT_EQ(71209l, div64x32s(-78402327489426ll, -1101005418l, 0) );
EXPECT_EQ(17086l, div64x32s(-32410567597436ll, -1896829708l, 0) );
EXPECT_EQ(55193l, div64x32s(98059309701304ll, 1776643463l, 0) );
EXPECT_EQ(49462l, div64x32s(-94382543417393ll, -1908165450l, 0) );
EXPECT_EQ(77950l, div64x32s(90018786014977ll, 1154820306l, 0) );
EXPECT_EQ(44359l, div64x32s(-41864178304110ll, -943749695l, 0) );
EXPECT_EQ(45263l, div64x32s(-94705655104359ll, -2092321304l, 0) );
EXPECT_EQ(94757l, div64x32s(119805211731276ll, 1264328524l, 0) );
EXPECT_EQ(46781l, div64x32s(49388622056837ll, 1055729841l, 0) );
EXPECT_EQ(1306780l, div64x32s(-137292986470558ll, -105061978l, 0) );
EXPECT_EQ(71799l, div64x32s(-44998863050146ll, -626726977l, 0) );
EXPECT_EQ(-22953l, div64x32s(-26162781358404ll, 1139812670l, 0) );
EXPECT_EQ(9205l, div64x32s(-16528175479631ll, -1795502327l, 0) );
EXPECT_EQ(-50302l, div64x32s(-98879487099680ll, 1965715857l, 0) );
EXPECT_EQ(-164769l, div64x32s(68690652522431ll, -416888443l, 0) );
EXPECT_EQ(68l, div64x32s(65474138431ll, 960920298l, 0) );
EXPECT_EQ(-15645l, div64x32s(30835033704798ll, -1970895316l, 0) );
EXPECT_EQ(113980l, div64x32s(-70868171574796ll, -621758912l, 0) );
EXPECT_EQ(-531365l, div64x32s(-136104057400913ll, 256140261l, 0) );
EXPECT_EQ(82576l, div64x32s(83612025055916ll, 1012534625l, 0) );
EXPECT_EQ(-12724l, div64x32s(14110937211371ll, -1108966741l, 0) );
EXPECT_EQ(299082l, div64x32s(-91242783604183ll, -305075130l, 0) );
EXPECT_EQ(-64092l, div64x32s(54357299311923ll, -848107007l, 0) );
EXPECT_EQ(73234l, div64x32s(-108826176084929ll, -1485988840l, 0) );
EXPECT_EQ(38758l, div64x32s(-71880746360085ll, -1854566717l, 0) );
EXPECT_EQ(-149034l, div64x32s(-130726839666677ll, 877156558l, 0) );
EXPECT_EQ(-6591l, div64x32s(7911932256467ll, -1200383398l, 0) );
EXPECT_EQ(-115520l, div64x32s(-112835005464371ll, 976752415l, 0) );
EXPECT_EQ(-237584l, div64x32s(-115492986749390ll, 486112801l, 0) );
EXPECT_EQ(65492l, div64x32s(108985863584428ll, 1664090779l, 0) );
EXPECT_EQ(47016l, div64x32s(-48354707775937ll, -1028468561l, 0) );
EXPECT_EQ(24630l, div64x32s(-33149974378292ll, -1345870964l, 0) );
EXPECT_EQ(-35616l, div64x32s(49616318957317ll, -1393061831l, 0) );
EXPECT_EQ(127529l, div64x32s(129915503970875ll, 1018710294l, 0) );
EXPECT_EQ(-385279l, div64x32s(-94541366511224ll, 245383818l, 0) );
EXPECT_EQ(-74207l, div64x32s(-86036857238451ll, 1159413192l, 0) );
EXPECT_EQ(5245l, div64x32s(10644713070869ll, 2029148865l, 0) );
EXPECT_EQ(-940848l, div64x32s(122361026000684ll, -130053849l, 0) );
EXPECT_EQ(184217l, div64x32s(-104638462695276ll, -568016047l, 0) );
EXPECT_EQ(-35728l, div64x32s(-64297440012239ll, 1799632223l, 0) );
EXPECT_EQ(61284l, div64x32s(70945983375214ll, 1157657413l, 0) );
EXPECT_EQ(-83787l, div64x32s(-113306174900726ll, 1352298414l, 0) );
EXPECT_EQ(34130l, div64x32s(10849409771860ll, 317876970l, 0) );
EXPECT_EQ(41291l, div64x32s(-83417776327324ll, -2020233742l, 0) );
EXPECT_EQ(-38996l, div64x32s(20407173127810ll, -523309392l, 0) );
EXPECT_EQ(-39128l, div64x32s(38496414621655ll, -983835996l, 0) );
EXPECT_EQ(191771l, div64x32s(63484617953721ll, 331042670l, 0) );
EXPECT_EQ(-36660l, div64x32s(27269239373594ll, -743835551l, 0) );
EXPECT_EQ(-38807l, div64x32s(-47622834713075ll, 1227169275l, 0) );
EXPECT_EQ(31931l, div64x32s(-35962926793969ll, -1126262449l, 0) );
EXPECT_EQ(37532l, div64x32s(-49418771507647ll, -1316693492l, 0) );
EXPECT_EQ(77245l, div64x32s(-81480885092210ll, -1054830472l, 0) );
EXPECT_EQ(-81062l, div64x32s(117361208683259ll, -1447781916l, 0) );
EXPECT_EQ(67014l, div64x32s(-127440289535907ll, -1901671633l, 0) );
EXPECT_EQ(858l, div64x32s(-1709500418867ll, -1991508854l, 0) );
EXPECT_EQ(33914l, div64x32s(-27956992550772ll, -824327630l, 0) );
EXPECT_EQ(-123591l, div64x32s(-133321807900443ll, 1078726177l, 0) );
EXPECT_EQ(-114945l, div64x32s(92453977665834ll, -804326077l, 0) );
EXPECT_EQ(-10844l, div64x32s(-21141591634902ll, 1949461802l, 0) );
EXPECT_EQ(-70267l, div64x32s(-110844992322126ll, 1577481779l, 0) );
EXPECT_EQ(-150548l, div64x32s(-90209325044488ll, 599204649l, 0) );
EXPECT_EQ(101634l, div64x32s(-128819532681080ll, -1267483431l, 0) );
EXPECT_EQ(97239l, div64x32s(-137573891341033ll, -1414791874l, 0) );
EXPECT_EQ(12602l, div64x32s(-21553510580110ll, -1710239143l, 0) );
EXPECT_EQ(-27634l, div64x32s(52356883697106ll, -1894647141l, 0) );
EXPECT_EQ(5929l, div64x32s(-8220764814420ll, -1386350708l, 0) );
EXPECT_EQ(45501l, div64x32s(83663593817337ll, 1838684131l, 0) );
EXPECT_EQ(-58130l, div64x32s(79741662221147ll, -1371759598l, 0) );
EXPECT_EQ(14710l, div64x32s(7234665060439ll, 491792302l, 0) );
EXPECT_EQ(97584l, div64x32s(135283440381363ll, 1386314515l, 0) );
EXPECT_EQ(-30328l, div64x32s(-49569671422445ll, 1634425059l, 0) );
EXPECT_EQ(208991l, div64x32s(31930019169775ll, 152781198l, 0) );
EXPECT_EQ(-246221l, div64x32s(134906106610919ll, -547905640l, 0) );
EXPECT_EQ(138833l, div64x32s(-107749490187094ll, -776108542l, 0) );
EXPECT_EQ(-22533l, div64x32s(-39386705576269ll, 1747932871l, 0) );
EXPECT_EQ(-53604l, div64x32s(107735339394649ll, -2009810427l, 0) );
EXPECT_EQ(-107009l, div64x32s(-134356312791865ll, 1255557014l, 0) );
EXPECT_EQ(102655l, div64x32s(15811377104293ll, 154024333l, 0) );
EXPECT_EQ(-72834l, div64x32s(-23885942319317ll, 327947900l, 0) );
EXPECT_EQ(17290l, div64x32s(-36719166624881ll, -2123641350l, 0) );
EXPECT_EQ(113901l, div64x32s(117974484452494ll, 1035755069l, 0) );
EXPECT_EQ(966411l, div64x32s(78160119081419ll, 80876675l, 0) );
EXPECT_EQ(-30254l, div64x32s(-58364927105338ll, 1929150293l, 0) );
EXPECT_EQ(550259l, div64x32s(-102964710094363ll, -187120259l, 0) );
EXPECT_EQ(-67217l, div64x32s(26415472661540ll, -392985342l, 0) );
EXPECT_EQ(-42320l, div64x32s(-52894418099987ll, 1249854291l, 0) );
EXPECT_EQ(-22733l, div64x32s(-26914193804604ll, 1183925445l, 0) );
EXPECT_EQ(-41912l, div64x32s(81124635864000ll, -1935560506l, 0) );
EXPECT_EQ(-182075l, div64x32s(75034214479838ll, -412104688l, 0) );
EXPECT_EQ(-140601l, div64x32s(72595046996354ll, -516318643l, 0) );
EXPECT_EQ(-15538l, div64x32s(11481122438892ll, -738862942l, 0) );
EXPECT_EQ(-69904l, div64x32s(131015523393546ll, -1874199057l, 0) );
EXPECT_EQ(-20471l, div64x32s(-28540939296049ll, 1394171323l, 0) );
EXPECT_EQ(-58370l, div64x32s(-119542197145014ll, 2048002660l, 0) );
EXPECT_EQ(53654l, div64x32s(102698261045055ll, 1914054923l, 0) );
EXPECT_EQ(42256l, div64x32s(57473047596768ll, 1360091767l, 0) );
EXPECT_EQ(-127480l, div64x32s(-96612453914193ll, 757860347l, 0) );
EXPECT_EQ(-43505l, div64x32s(71915043435006ll, -1653023039l, 0) );
EXPECT_EQ(-41560l, div64x32s(87790309567444ll, -2112360586l, 0) );
EXPECT_EQ(20994l, div64x32s(-27355451563938ll, -1302995220l, 0) );
EXPECT_EQ(105712l, div64x32s(-121110848932765ll, -1145667283l, 0) );
EXPECT_EQ(1346413l, div64x32s(-70150859675834ll, -52102020l, 0) );
EXPECT_EQ(45304l, div64x32s(84354792181507ll, 1861965868l, 0) );
EXPECT_EQ(5991962l, div64x32s(135649098411686ll, 22638511l, 0) );
EXPECT_EQ(61745l, div64x32s(129218696840521ll, 2092761552l, 0) );
EXPECT_EQ(37894l, div64x32s(-38114703712245ll, -1005813343l, 0) );
EXPECT_EQ(12088l, div64x32s(22137429177894ll, 1831298000l, 0) );
EXPECT_EQ(39501l, div64x32s(-82864649609714ll, -2097746271l, 0) );
EXPECT_EQ(-39819l, div64x32s(48964681865547ll, -1229651969l, 0) );
EXPECT_EQ(117146l, div64x32s(-78616201278017ll, -671091644l, 0) );
EXPECT_EQ(20682l, div64x32s(26682344671787ll, 1290082845l, 0) );
EXPECT_EQ(607607l, div64x32s(14912484435259ll, 24542966l, 0) );
EXPECT_EQ(-56728l, div64x32s(-113344949995911ll, 1998027093l, 0) );
EXPECT_EQ(10594l, div64x32s(14903628928211ll, 1406739789l, 0) );
EXPECT_EQ(-14756l, div64x32s(29181995546203ll, -1977564416l, 0) );
EXPECT_EQ(-117535l, div64x32s(128505570994463ll, -1093338026l, 0) );
EXPECT_EQ(-188664l, div64x32s(-31096469216830ll, 164824372l, 0) );
EXPECT_EQ(-139469l, div64x32s(-79221963325151ll, 568024537l, 0) );
EXPECT_EQ(-99994l, div64x32s(-93502102907237ll, 935075174l, 0) );
EXPECT_EQ(-79661l, div64x32s(-93201094607263ll, 1169970694l, 0) );
EXPECT_EQ(71325l, div64x32s(139016488356020ll, 1949055585l, 0) );
EXPECT_EQ(-88316l, div64x32s(-34821072582198ll, 394276039l, 0) );
EXPECT_EQ(-32554l, div64x32s(-66177151892654ll, 2032797242l, 0) );
EXPECT_EQ(-81579l, div64x32s(-115311685173215ll, 1413493009l, 0) );
EXPECT_EQ(85148l, div64x32s(80665428957729ll, 947352591l, 0) );
EXPECT_EQ(-521798l, div64x32s(139935733083422ll, -268179434l, 0) );
EXPECT_EQ(22011l, div64x32s(40317382127068ll, 1831631522l, 0) );
EXPECT_EQ(27556l, div64x32s(50428222186274ll, 1829976509l, 0) );
EXPECT_EQ(-54231l, div64x32s(56042019707611ll, -1033384001l, 0) );
